#region

using System;
using System.Runtime.InteropServices;
using System.Security;

#endregion

namespace DirectShowLib
{
    [ComImport,
     SuppressUnmanagedCodeSecurity,
     Guid("8A674B48-1F63-11d3-B64C-00C04F79498E"),
     InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ICreatePropBagOnRegKey
    {
        #region Methods

        [PreserveSig]
        int Create(
            [In] IntPtr hkey,
            [In, MarshalAs(UnmanagedType.LPWStr)] string subkey,
            [In] int ulOptions,
            [In] int samDesired,
            [In, MarshalAs(UnmanagedType.LPStruct)] Guid iid,
            [Out, MarshalAs(UnmanagedType.IUnknown)] out object ppBag
            );

        #endregion Methods
    }
}